[INFO] cloning repository https://github.com/cpjreynolds/cube
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/cpjreynolds/cube" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fcpjreynolds%2Fcube", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fcpjreynolds%2Fcube'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 90d5183b9fd601d17b50b0b90f0bb981fc37aef4
[INFO] checking cpjreynolds/cube against master#af3c6e733a40e671550e0f0f5aeecaa13772ba56 for pr-74989
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fcpjreynolds%2Fcube" "/workspace/builds/worker-5/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-5/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/cpjreynolds/cube on toolchain af3c6e733a40e671550e0f0f5aeecaa13772ba56
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+af3c6e733a40e671550e0f0f5aeecaa13772ba56" "read-manifest" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] removed /workspace/builds/worker-5/source/.cargo/config
[INFO] started tweaking git repo https://github.com/cpjreynolds/cube
[INFO] finished tweaking git repo https://github.com/cpjreynolds/cube
[INFO] tweaked toml for git repo https://github.com/cpjreynolds/cube written to /workspace/builds/worker-5/source/Cargo.toml
[INFO] crate git repo https://github.com/cpjreynolds/cube already has a lockfile, it will not be regenerated
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+af3c6e733a40e671550e0f0f5aeecaa13772ba56" "fetch" "--locked" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] error: the lock file /workspace/builds/worker-5/source/Cargo.lock needs to be updated but --locked was passed to prevent this
[INFO] [stderr] If you want to try to generate the lock file without accessing the network, use the --offline flag.
[INFO] the lockfile is outdated, regenerating it
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+af3c6e733a40e671550e0f0f5aeecaa13772ba56" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update", kill_on_drop: false }`
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+af3c6e733a40e671550e0f0f5aeecaa13772ba56" "fetch" "--locked" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "rustops/crates-build-env@sha256:d92eaeed33fa75130ca1ee6c8a01d1ffb62bac859dfdfb3450e3e5d1c0146529" "/opt/rustwide/cargo-home/bin/cargo" "+af3c6e733a40e671550e0f0f5aeecaa13772ba56" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] [stdout] 74c24bb21a6dae7e614c06cf6c9a20f92040dd3e6e68270e9979d808f8ab75d0
[INFO] running `Command { std: "docker" "start" "-a" "74c24bb21a6dae7e614c06cf6c9a20f92040dd3e6e68270e9979d808f8ab75d0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "74c24bb21a6dae7e614c06cf6c9a20f92040dd3e6e68270e9979d808f8ab75d0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "74c24bb21a6dae7e614c06cf6c9a20f92040dd3e6e68270e9979d808f8ab75d0", kill_on_drop: false }`
[INFO] [stdout] 74c24bb21a6dae7e614c06cf6c9a20f92040dd3e6e68270e9979d808f8ab75d0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "rustops/crates-build-env@sha256:d92eaeed33fa75130ca1ee6c8a01d1ffb62bac859dfdfb3450e3e5d1c0146529" "/opt/rustwide/cargo-home/bin/cargo" "+af3c6e733a40e671550e0f0f5aeecaa13772ba56" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] e20c554b108609960d2b78086f71dea85fc236a4e29e278e6ebed43a78536332
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `Command { std: "docker" "start" "-a" "e20c554b108609960d2b78086f71dea85fc236a4e29e278e6ebed43a78536332", kill_on_drop: false }`
[INFO] [stderr]    Compiling autocfg v1.0.1
[INFO] [stderr]    Compiling proc-macro2 v0.4.30
[INFO] [stderr]    Compiling unicode-xid v0.1.0
[INFO] [stderr]    Compiling khronos_api v3.1.0
[INFO] [stderr]    Compiling version_check v0.9.2
[INFO] [stderr]     Checking void v1.0.2
[INFO] [stderr]     Checking xdg v2.2.0
[INFO] [stderr]     Checking lzw v0.10.0
[INFO] [stderr]     Checking color_quant v1.0.1
[INFO] [stderr]     Checking bytemuck v1.4.1
[INFO] [stderr]     Checking scoped_threadpool v0.1.9
[INFO] [stderr]     Checking obj v0.10.1
[INFO] [stderr]    Compiling x11-dl v2.18.5
[INFO] [stderr]    Compiling libloading v0.5.2
[INFO] [stderr]    Compiling log v0.4.11
[INFO] [stderr]     Checking libloading v0.6.3
[INFO] [stderr]     Checking deflate v0.8.6
[INFO] [stderr]     Checking net2 v0.2.35
[INFO] [stderr]     Checking memmap v0.7.0
[INFO] [stderr]     Checking parking_lot_core v0.7.2
[INFO] [stderr]     Checking raw-window-handle v0.3.3
[INFO] [stderr]     Checking shared_library v0.1.9
[INFO] [stderr]     Checking getrandom v0.1.15
[INFO] [stderr]     Checking nix v0.14.1
[INFO] [stderr]     Checking toml v0.5.6
[INFO] [stderr]     Checking dlib v0.4.2
[INFO] [stderr]     Checking gif v0.10.3
[INFO] [stderr]     Checking tiff v0.5.0
[INFO] [stderr]    Compiling syn v1.0.40
[INFO] [stderr]     Checking osmesa-sys v0.1.2
[INFO] [stderr]     Checking mio v0.6.22
[INFO] [stderr]     Checking wayland-sys v0.23.6
[INFO] [stderr]     Checking parking_lot v0.10.2
[INFO] [stderr]     Checking rand_core v0.5.1
[INFO] [stderr]     Checking png v0.16.7
[INFO] [stderr]    Compiling standback v0.2.10
[INFO] [stderr]    Compiling time v0.2.19
[INFO] [stderr]     Checking rand_chacha v0.2.2
[INFO] [stderr]    Compiling num-traits v0.2.12
[INFO] [stderr]    Compiling memoffset v0.5.5
[INFO] [stderr]    Compiling crossbeam-utils v0.7.2
[INFO] [stderr]    Compiling num-integer v0.1.43
[INFO] [stderr]    Compiling crossbeam-epoch v0.8.2
[INFO] [stderr]    Compiling num-bigint v0.3.0
[INFO] [stderr]    Compiling num-rational v0.3.0
[INFO] [stderr]    Compiling num-iter v0.1.41
[INFO] [stderr]    Compiling rayon v1.4.0
[INFO] [stderr]    Compiling miniz_oxide v0.4.2
[INFO] [stderr]    Compiling gl_generator v0.14.0
[INFO] [stderr]     Checking rand v0.7.3
[INFO] [stderr]    Compiling quote v0.6.13
[INFO] [stderr]     Checking mio-extras v2.0.6
[INFO] [stderr]    Compiling wayland-scanner v0.23.6
[INFO] [stderr]     Checking crossbeam-channel v0.4.4
[INFO] [stderr]     Checking approx v0.3.2
[INFO] [stderr]     Checking ordered-float v1.1.0
[INFO] [stderr]     Checking line_drawing v0.7.0
[INFO] [stderr]     Checking num-complex v0.3.0
[INFO] [stderr]     Checking crossbeam-deque v0.7.3
[INFO] [stderr]     Checking backtrace v0.3.50
[INFO] [stderr]    Compiling glutin_glx_sys v0.1.7
[INFO] [stderr]    Compiling glutin_egl_sys v0.1.5
[INFO] [stderr]    Compiling glium v0.27.0
[INFO] [stderr]     Checking rusttype v0.8.3
[INFO] [stderr]     Checking rayon-core v1.8.0
[INFO] [stderr]     Checking rusttype v0.7.9
[INFO] [stderr]     Checking andrew v0.2.1
[INFO] [stderr]    Compiling wayland-client v0.23.6
[INFO] [stderr]    Compiling wayland-protocols v0.23.6
[INFO] [stderr]     Checking wayland-commons v0.23.6
[INFO] [stderr]     Checking calloop v0.4.4
[INFO] [stderr]     Checking num v0.3.0
[INFO] [stderr]     Checking gel v0.1.0
[INFO] [stderr]     Checking jpeg-decoder v0.1.20
[INFO] [stderr]     Checking image v0.23.9
[INFO] [stderr]    Compiling time-macros-impl v0.1.1
[INFO] [stderr]     Checking time-macros v0.1.0
[INFO] [stderr]     Checking smithay-client-toolkit v0.6.6
[INFO] [stderr]     Checking winit v0.22.2
[INFO] [stderr]     Checking glutin v0.24.1
[INFO] [stderr]     Checking cube v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] error[E0432]: unresolved imports `gel::Mat4`, `gel::Vec3`, `gel::Translate`, `gel::Scale`, `gel::Rotate`, `gel::Repeat`, `gel::Projection`
[INFO] [stdout]   --> src/main.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 24 |     Mat4,
[INFO] [stdout]    |     ^^^^ no `Mat4` in the root
[INFO] [stdout] 25 |     Vec3,
[INFO] [stdout]    |     ^^^^ no `Vec3` in the root
[INFO] [stdout] 26 |     Translate,
[INFO] [stdout]    |     ^^^^^^^^^ no `Translate` in the root
[INFO] [stdout] 27 |     Scale,
[INFO] [stdout]    |     ^^^^^ no `Scale` in the root
[INFO] [stdout] 28 |     Rotate,
[INFO] [stdout]    |     ^^^^^^ no `Rotate` in the root
[INFO] [stdout] 29 |     Repeat,
[INFO] [stdout]    |     ^^^^^^ no `Repeat` in the root
[INFO] [stdout] 30 |     Projection,
[INFO] [stdout]    |     ^^^^^^^^^^ no `Projection` in the root
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `glium::DisplayBuild`
[INFO] [stdout]   --> src/main.rs:34:5
[INFO] [stdout]    |
[INFO] [stdout] 34 |     DisplayBuild,
[INFO] [stdout]    |     ^^^^^^^^^^^^ no `DisplayBuild` in the root
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved imports `glutin::WindowBuilder`, `glutin::Event`, `glutin::VirtualKeyCode`, `glutin::ElementState`
[INFO] [stdout]   --> src/main.rs:45:5
[INFO] [stdout]    |
[INFO] [stdout] 45 |     WindowBuilder,
[INFO] [stdout]    |     ^^^^^^^^^^^^^ no `WindowBuilder` in the root
[INFO] [stdout] 46 |     GlProfile,
[INFO] [stdout] 47 |     Event,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     no `Event` in the root
[INFO] [stdout]    |     help: a similar name exists in the module: `event`
[INFO] [stdout] 48 |     VirtualKeyCode,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^ no `VirtualKeyCode` in the root
[INFO] [stdout] 49 |     ElementState,
[INFO] [stdout]    |     ^^^^^^^^^^^^ no `ElementState` in the root
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved imports `gel::Vec3`, `gel::Mat4`, `gel::Repeat`, `gel::Rotate`, `gel::Scale`, `gel::Translate`
[INFO] [stdout]   --> src/cube.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 24 |     Vec3,
[INFO] [stdout]    |     ^^^^ no `Vec3` in the root
[INFO] [stdout] 25 |     Mat4,
[INFO] [stdout]    |     ^^^^ no `Mat4` in the root
[INFO] [stdout] 26 |     Repeat,
[INFO] [stdout]    |     ^^^^^^ no `Repeat` in the root
[INFO] [stdout] 27 |     Rotate,
[INFO] [stdout]    |     ^^^^^^ no `Rotate` in the root
[INFO] [stdout] 28 |     Scale,
[INFO] [stdout]    |     ^^^^^ no `Scale` in the root
[INFO] [stdout] 29 |     Translate,
[INFO] [stdout]    |     ^^^^^^^^^ no `Translate` in the root
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved imports `gel::Mat4`, `gel::Vec3`, `gel::LookAt`, `gel::Cross`, `gel::Normalize`
[INFO] [stdout]  --> src/camera.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 |     Mat4,
[INFO] [stdout]   |     ^^^^ no `Mat4` in the root
[INFO] [stdout] 4 |     Vec3,
[INFO] [stdout]   |     ^^^^ no `Vec3` in the root
[INFO] [stdout] 5 |     LookAt,
[INFO] [stdout]   |     ^^^^^^ no `LookAt` in the root
[INFO] [stdout] 6 |     Cross,
[INFO] [stdout]   |     ^^^^^ no `Cross` in the root
[INFO] [stdout] 7 |     Normalize,
[INFO] [stdout]   |     ^^^^^^^^^ no `Normalize` in the root
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved imports `toml::Parser`, `toml::Decoder`
[INFO] [stdout]   --> src/config.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 |     Parser,
[INFO] [stdout]    |     ^^^^^^ no `Parser` in the root
[INFO] [stdout] 11 |     Decoder,
[INFO] [stdout]    |     ^^^^^^^ no `Decoder` in the root
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `glutin::WindowBuilder`
[INFO] [stdout]   --> src/config.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use glutin::WindowBuilder;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^ no `WindowBuilder` in the root
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved imports `gel::Vec3`, `gel::Repeat`
[INFO] [stdout]   --> src/config.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 |     Vec3,
[INFO] [stdout]    |     ^^^^ no `Vec3` in the root
[INFO] [stdout] 19 |     Repeat,
[INFO] [stdout]    |     ^^^^^^ no `Repeat` in the root
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `glutin::Event`
[INFO] [stdout]  --> src/input.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 |     Event,
[INFO] [stdout]   |     ^^^^^
[INFO] [stdout]   |     |
[INFO] [stdout]   |     no `Event` in the root
[INFO] [stdout]   |     help: a similar name exists in the module: `event`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `glium::backend::glutin_backend`
[INFO] [stdout]  --> src/input.rs:8:21
[INFO] [stdout]   |
[INFO] [stdout] 8 | use glium::backend::glutin_backend::{
[INFO] [stdout]   |                     ^^^^^^^^^^^^^^ could not find `glutin_backend` in `backend`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved imports `glutin::ElementState`, `glutin::VirtualKeyCode`
[INFO] [stdout]   --> src/input.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 |     ElementState,
[INFO] [stdout]    |     ^^^^^^^^^^^^ no `ElementState` in the root
[INFO] [stdout] 16 |     VirtualKeyCode as Key,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^ no `VirtualKeyCode` in the root
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved imports `gel::Mat4`, `gel::Vec3`, `gel::Normalize`, `gel::Cross`
[INFO] [stdout]   --> src/player.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 |     Mat4,
[INFO] [stdout]    |     ^^^^ no `Mat4` in the root
[INFO] [stdout] 16 |     Vec3,
[INFO] [stdout]    |     ^^^^ no `Vec3` in the root
[INFO] [stdout] 17 |     Normalize,
[INFO] [stdout]    |     ^^^^^^^^^ no `Normalize` in the root
[INFO] [stdout] 18 |     Cross,
[INFO] [stdout]    |     ^^^^^ no `Cross` in the root
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `glutin::MouseCursor`
[INFO] [stdout]  --> src/cursor.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use glutin::MouseCursor;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^ no `MouseCursor` in the root
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `glium::backend::glutin_backend`
[INFO] [stdout]  --> src/cursor.rs:2:21
[INFO] [stdout]   |
[INFO] [stdout] 2 | use glium::backend::glutin_backend::WinRef;
[INFO] [stdout]   |                     ^^^^^^^^^^^^^^ could not find `glutin_backend` in `backend`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved imports `gel::Vec3`, `gel::Mat4`, `gel::Repeat`, `gel::Rotate`, `gel::Scale`, `gel::Translate`
[INFO] [stdout]   --> src/light.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout] 28 |     Vec3,
[INFO] [stdout]    |     ^^^^ no `Vec3` in the root
[INFO] [stdout] 29 |     Mat4,
[INFO] [stdout]    |     ^^^^ no `Mat4` in the root
[INFO] [stdout] 30 |     Repeat,
[INFO] [stdout]    |     ^^^^^^ no `Repeat` in the root
[INFO] [stdout] 31 |     Rotate,
[INFO] [stdout]    |     ^^^^^^ no `Rotate` in the root
[INFO] [stdout] 32 |     Scale,
[INFO] [stdout]    |     ^^^^^ no `Scale` in the root
[INFO] [stdout] 33 |     Translate,
[INFO] [stdout]    |     ^^^^^^^^^ no `Translate` in the root
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `radians` in crate `gel`
[INFO] [stdout]   --> src/camera.rs:49:30
[INFO] [stdout]    |
[INFO] [stdout] 49 |         let elevation = gel::radians(self.elev);
[INFO] [stdout]    |                              ^^^^^^^ not found in `gel`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `radians` in crate `gel`
[INFO] [stdout]   --> src/camera.rs:50:28
[INFO] [stdout]    |
[INFO] [stdout] 50 |         let azimuth = gel::radians(self.azimuth);
[INFO] [stdout]    |                            ^^^^^^^ not found in `gel`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Table` in crate `toml`
[INFO] [stdout]    --> src/config.rs:386:51
[INFO] [stdout]     |
[INFO] [stdout] 386 | fn parse(toml: &str, path: &Path) -> Result<toml::Table> {
[INFO] [stdout]     |                                                   ^^^^^ not found in `toml`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this type alias
[INFO] [stdout]     |
[INFO] [stdout] 1   | use toml::value::Table;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `DecodeError` in crate `toml`
[INFO] [stdout]   --> src/errors.rs:93:24
[INFO] [stdout]    |
[INFO] [stdout] 93 | from_error_impl!(toml::DecodeError);
[INFO] [stdout]    |                        ^^^^^^^^^^^ not found in `toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `GliumCreationError` in crate `glium`
[INFO] [stdout]    --> src/errors.rs:98:21
[INFO] [stdout]     |
[INFO] [stdout] 98  | impl<T> From<glium::GliumCreationError<T>> for Error
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^ help: an enum with a similar name exists: `ProgramCreationError`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/glium-0.27.0/src/program/mod.rs:113:1
[INFO] [stdout]     |
[INFO] [stdout] 113 | pub enum ProgramCreationError {
[INFO] [stdout]     | ----------------------------- similarly named enum `ProgramCreationError` defined here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `GliumCreationError` in crate `glium`
[INFO] [stdout]    --> src/errors.rs:101:23
[INFO] [stdout]     |
[INFO] [stdout] 101 |     fn from(e: glium::GliumCreationError<T>) -> Error {
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^ help: an enum with a similar name exists: `ProgramCreationError`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/glium-0.27.0/src/program/mod.rs:113:1
[INFO] [stdout]     |
[INFO] [stdout] 113 | pub enum ProgramCreationError {
[INFO] [stdout]     | ----------------------------- similarly named enum `ProgramCreationError` defined here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/cube.rs:108:22
[INFO] [stdout]     |
[INFO] [stdout] 108 |         let vtxbuf = try!(VertexBuffer::new(facade, vertices));
[INFO] [stdout]     |                      ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/cube.rs:154:9
[INFO] [stdout]     |
[INFO] [stdout] 154 |         try!(surface.draw(&self.vtxbuf, self.idxbuf, program, uniforms, draw_params));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/resource/shader.rs:54:20
[INFO] [stdout]    |
[INFO] [stdout] 54 |         let vsrc = try!(self.sources.get(vert).ok_or(Error::new("missing vertex shader")));
[INFO] [stdout]    |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/resource/shader.rs:55:20
[INFO] [stdout]    |
[INFO] [stdout] 55 |         let fsrc = try!(self.sources.get(frag).ok_or(Error::new("missing fragment shader")));
[INFO] [stdout]    |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/resource/shader.rs:64:23
[INFO] [stdout]    |
[INFO] [stdout] 64 |         let program = try!(Program::from_source(facade, vsrc, fsrc, None));
[INFO] [stdout]    |                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/config.rs:45:25
[INFO] [stdout]    |
[INFO] [stdout] 45 |         let mut cfile = try!(File::open(&path));
[INFO] [stdout]    |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/config.rs:47:9
[INFO] [stdout]    |
[INFO] [stdout] 47 |         try!(cfile.read_to_string(&mut buf));
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/config.rs:49:21
[INFO] [stdout]    |
[INFO] [stdout] 49 |         let table = try!(parse(&buf, path.as_ref()));
[INFO] [stdout]    |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/config.rs:52:27
[INFO] [stdout]    |
[INFO] [stdout] 52 |         let toml_config = try!(TomlConfig::decode(&mut decoder));
[INFO] [stdout]    |                           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/errors.rs:60:9
[INFO] [stdout]    |
[INFO] [stdout] 60 |         try!(writeln!(fmt, "{}", self.msg));
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/errors.rs:62:13
[INFO] [stdout]    |
[INFO] [stdout] 62 |             try!(writeln!(fmt, "\t{}", detail));
[INFO] [stdout]    |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/input.rs:34:22
[INFO] [stdout]    |
[INFO] [stdout] 34 |         let (x, y) = try!(winref.get_inner_size_pixels()
[INFO] [stdout]    |                      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/input.rs:40:21
[INFO] [stdout]    |
[INFO] [stdout] 40 |             cursor: try!(Cursor::new(winref, x / 2, y / 2)),
[INFO] [stdout]    |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/player.rs:44:30
[INFO] [stdout]    |
[INFO] [stdout] 44 |         let mut cube: Cube = try!(Cube::new(facade));
[INFO] [stdout]    |                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/cursor.rs:19:9
[INFO] [stdout]    |
[INFO] [stdout] 19 |         try!(winref.set_cursor_position(xcenter, ycenter));
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/cursor.rs:35:9
[INFO] [stdout]    |
[INFO] [stdout] 35 |         try!(self.winref.set_cursor_position(xc, yc));
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/light.rs:114:22
[INFO] [stdout]     |
[INFO] [stdout] 114 |         let vtxbuf = try!(VertexBuffer::new(facade, vertices));
[INFO] [stdout]     |                      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/light.rs:179:9
[INFO] [stdout]     |
[INFO] [stdout] 179 |         try!(surface.draw(&self.vtxbuf, self.idxbuf, program, uniforms, draw_params));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/file.rs:10:20
[INFO] [stdout]    |
[INFO] [stdout] 10 |     let mut file = try!(File::open(path));
[INFO] [stdout]    |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/file.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 |     try!(file.read_to_string(&mut buf));
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/main.rs:90:23
[INFO] [stdout]    |
[INFO] [stdout] 90 |     let config_path = try!(env::var("CUBE_CONF"));
[INFO] [stdout]    |                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/main.rs:91:26
[INFO] [stdout]    |
[INFO] [stdout] 91 |     let config: Config = try!(Config::new(&config_path));
[INFO] [stdout]    |                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/main.rs:95:19
[INFO] [stdout]    |
[INFO] [stdout] 95 |     let display = try!(window_builder.build_glium());
[INFO] [stdout]    |                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/main.rs:101:9
[INFO] [stdout]     |
[INFO] [stdout] 101 |         try!(target.finish());
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/main.rs:106:27
[INFO] [stdout]     |
[INFO] [stdout] 106 |     let diffuse_map_img = try!(image::open(diffuse_map_path));
[INFO] [stdout]     |                           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/main.rs:107:23
[INFO] [stdout]     |
[INFO] [stdout] 107 |     let diffuse_map = try!(SrgbTexture2d::new(&display, diffuse_map_img));
[INFO] [stdout]     |                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/main.rs:109:28
[INFO] [stdout]     |
[INFO] [stdout] 109 |     let specular_map_img = try!(image::open(specular_map_path));
[INFO] [stdout]     |                            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/main.rs:110:24
[INFO] [stdout]     |
[INFO] [stdout] 110 |     let specular_map = try!(SrgbTexture2d::new(&display, specular_map_img));
[INFO] [stdout]     |                        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/main.rs:111:30
[INFO] [stdout]     |
[INFO] [stdout] 111 |     let mut player: Player = try!(Player::new(&display,
[INFO] [stdout]     |                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/main.rs:119:20
[INFO] [stdout]     |
[INFO] [stdout] 119 |     let vert_src = try!(file::load(config.paths().shaders().join("cube.vert")));
[INFO] [stdout]     |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/main.rs:122:20
[INFO] [stdout]     |
[INFO] [stdout] 122 |     let frag_src = try!(file::load(config.paths().shaders().join("cube.frag")));
[INFO] [stdout]     |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/main.rs:125:5
[INFO] [stdout]     |
[INFO] [stdout] 125 |     try!(shaders.compile(&display, "cube.vert", "cube.frag"));
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/main.rs:127:26
[INFO] [stdout]     |
[INFO] [stdout] 127 |     let light_vert_src = try!(file::load(config.paths().shaders().join("light.vert")));
[INFO] [stdout]     |                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/main.rs:130:26
[INFO] [stdout]     |
[INFO] [stdout] 130 |     let light_frag_src = try!(file::load(config.paths().shaders().join("light.frag")));
[INFO] [stdout]     |                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/main.rs:133:5
[INFO] [stdout]     |
[INFO] [stdout] 133 |     try!(shaders.compile(&display, "light.vert", "light.frag"));
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/main.rs:135:18
[INFO] [stdout]     |
[INFO] [stdout] 135 |     let winref = try!(display.get_window()
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/main.rs:139:28
[INFO] [stdout]     |
[INFO] [stdout] 139 |     let mut light: Light = try!(Light::new(&display, config.light()));
[INFO] [stdout]     |                            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/main.rs:141:21
[INFO] [stdout]     |
[INFO] [stdout] 141 |     let mut input = try!(Input::new(winref));
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/main.rs:147:26
[INFO] [stdout]     |
[INFO] [stdout] 147 |     let player_program = try!(shaders.load("cube.vert", "cube.frag"));
[INFO] [stdout]     |                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/main.rs:148:25
[INFO] [stdout]     |
[INFO] [stdout] 148 |     let light_program = try!(shaders.load("light.vert", "light.frag"));
[INFO] [stdout]     |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/main.rs:212:13
[INFO] [stdout]     |
[INFO] [stdout] 212 |             try!(player.draw(&mut target, player_program, &uniforms));
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/main.rs:221:13
[INFO] [stdout]     |
[INFO] [stdout] 221 |             try!(light.draw(&mut target, light_program, &uniforms));
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/main.rs:224:9
[INFO] [stdout]     |
[INFO] [stdout] 224 |         try!(target.finish());
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fs::File`
[INFO] [stdout]   --> src/main.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | use std::fs::File;
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::prelude::*`
[INFO] [stdout]   --> src/main.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | use std::io::prelude::*;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `num::One`
[INFO] [stdout]   --> src/main.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 22 | use num::One;
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `DepthTest`, `Display`
[INFO] [stdout]   --> src/main.rs:33:5
[INFO] [stdout]    |
[INFO] [stdout] 33 |     Display,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 36 |     DepthTest,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `MagnifySamplerFilter`, `MinifySamplerFilter`, `SamplerWrapFunction`
[INFO] [stdout]   --> src/main.rs:40:5
[INFO] [stdout]    |
[INFO] [stdout] 40 |     SamplerWrapFunction,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 41 |     MinifySamplerFilter,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 42 |     MagnifySamplerFilter,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `GlProfile`
[INFO] [stdout]   --> src/main.rs:46:5
[INFO] [stdout]    |
[INFO] [stdout] 46 |     GlProfile,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `cube::Cube`
[INFO] [stdout]   --> src/main.rs:52:5
[INFO] [stdout]    |
[INFO] [stdout] 52 | use cube::Cube;
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Sampler`
[INFO] [stdout]   --> src/cube.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 |     Sampler,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Zero`
[INFO] [stdout]   --> src/cube.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 |     Zero,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `RefCell`, `Ref`
[INFO] [stdout]  --> src/resource/shader.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 |     RefCell,
[INFO] [stdout]   |     ^^^^^^^
[INFO] [stdout] 4 |     Ref,
[INFO] [stdout]   |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ops::Deref`
[INFO] [stdout]  --> src/resource/shader.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::ops::Deref;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Entry`
[INFO] [stdout]  --> src/resource/shader.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 |     Entry,
[INFO] [stdout]   |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `num::Zero`
[INFO] [stdout]  --> src/camera.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use num::Zero;
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `player::Player`
[INFO] [stdout]   --> src/camera.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use player::Player;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self`
[INFO] [stdout]   --> src/config.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 |     self,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `One`, `Zero`
[INFO] [stdout]   --> src/config.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 22 |     One,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 23 |     Zero,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/errors.rs:21:23
[INFO] [stdout]    |
[INFO] [stdout] 21 |     inner: Option<Box<error::Error>>,
[INFO] [stdout]    |                       ^^^^^^^^^^^^ help: use `dyn`: `dyn error::Error`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/errors.rs:47:27
[INFO] [stdout]    |
[INFO] [stdout] 47 |         where E: Into<Box<error::Error>>
[INFO] [stdout]    |                           ^^^^^^^^^^^^ help: use `dyn`: `dyn error::Error`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/errors.rs:73:32
[INFO] [stdout]    |
[INFO] [stdout] 73 |     fn cause(&self) -> Option<&error::Error> {
[INFO] [stdout]    |                                ^^^^^^^^^^^^ help: use `dyn`: `dyn error::Error`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Error`
[INFO] [stdout]   --> src/process.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 |     Error,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Error`
[INFO] [stdout]  --> src/cursor.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 |     Error,
[INFO] [stdout]   |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `MagnifySamplerFilter`, `MinifySamplerFilter`, `SamplerWrapFunction`, `Sampler`
[INFO] [stdout]   --> src/light.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 |     Sampler,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 14 |     SamplerWrapFunction,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 15 |     MinifySamplerFilter,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 16 |     MagnifySamplerFilter,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `glium::texture::SrgbTexture2d`
[INFO] [stdout]   --> src/light.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 22 | use glium::texture::SrgbTexture2d;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `One`, `Zero`
[INFO] [stdout]   --> src/light.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 24 |     One,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 25 |     Zero,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0106]: missing lifetime specifier
[INFO] [stdout]   --> src/input.rs:33:42
[INFO] [stdout]    |
[INFO] [stdout] 33 |     pub fn new(winref: WinRef) -> Result<Input> {
[INFO] [stdout]    |                                          ^^^^^ expected named lifetime parameter
[INFO] [stdout]    |
[INFO] [stdout]    = help: this function's return type contains a borrowed value with an elided lifetime, but the lifetime cannot be derived from the arguments
[INFO] [stdout] help: consider using the `'a` lifetime
[INFO] [stdout]    |
[INFO] [stdout] 33 |     pub fn new(winref: WinRef) -> Result<Input<'a>> {
[INFO] [stdout]    |                                          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0106]: missing lifetime specifier
[INFO] [stdout]   --> src/cursor.rs:17:70
[INFO] [stdout]    |
[INFO] [stdout] 17 |     pub fn new(winref: WinRef, xcenter: i32, ycenter: i32) -> Result<Cursor> {
[INFO] [stdout]    |                                                                      ^^^^^^ expected named lifetime parameter
[INFO] [stdout]    |
[INFO] [stdout]    = help: this function's return type contains a borrowed value with an elided lifetime, but the lifetime cannot be derived from the arguments
[INFO] [stdout] help: consider using the `'a` lifetime
[INFO] [stdout]    |
[INFO] [stdout] 17 |     pub fn new(winref: WinRef, xcenter: i32, ycenter: i32) -> Result<Cursor<'a>> {
[INFO] [stdout]    |                                                                      ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated struct `std::hash::SipHasher`: use `std::collections::hash_map::DefaultHasher` instead
[INFO] [stdout]   --> src/resource/shader.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 |     SipHasher,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated struct `std::hash::SipHasher`: use `std::collections::hash_map::DefaultHasher` instead
[INFO] [stdout]   --> src/resource/shader.rs:58:30
[INFO] [stdout]    |
[INFO] [stdout] 58 |             let mut hasher = SipHasher::new();
[INFO] [stdout]    |                              ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated struct `std::hash::SipHasher`: use `std::collections::hash_map::DefaultHasher` instead
[INFO] [stdout]   --> src/resource/shader.rs:74:30
[INFO] [stdout]    |
[INFO] [stdout] 74 |             let mut hasher = SipHasher::new();
[INFO] [stdout]    |                              ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `time::precise_time_s`: Use `OffsetDateTime::now() - OffsetDateTime::unix_epoch()` to get a `Duration` since a known epoch.
[INFO] [stdout]  --> src/delta.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 |     time::precise_time_s() as f32
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0207]: the type parameter `T` is not constrained by the impl trait, self type, or predicates
[INFO] [stdout]   --> src/errors.rs:98:6
[INFO] [stdout]    |
[INFO] [stdout] 98 | impl<T> From<glium::GliumCreationError<T>> for Error
[INFO] [stdout]    |      ^ unconstrained type parameter
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 24 previous errors; 71 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0106, E0207, E0412, E0425, E0432.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0106`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `cube`.
[INFO] [stderr] 
[INFO] [stderr] To learn more, run the command again with --verbose.
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] error[E0432]: unresolved imports `gel::Mat4`, `gel::Vec3`, `gel::Translate`, `gel::Scale`, `gel::Rotate`, `gel::Repeat`, `gel::Projection`
[INFO] [stdout]   --> src/main.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 24 |     Mat4,
[INFO] [stdout]    |     ^^^^ no `Mat4` in the root
[INFO] [stdout] 25 |     Vec3,
[INFO] [stdout]    |     ^^^^ no `Vec3` in the root
[INFO] [stdout] 26 |     Translate,
[INFO] [stdout]    |     ^^^^^^^^^ no `Translate` in the root
[INFO] [stdout] 27 |     Scale,
[INFO] [stdout]    |     ^^^^^ no `Scale` in the root
[INFO] [stdout] 28 |     Rotate,
[INFO] [stdout]    |     ^^^^^^ no `Rotate` in the root
[INFO] [stdout] 29 |     Repeat,
[INFO] [stdout]    |     ^^^^^^ no `Repeat` in the root
[INFO] [stdout] 30 |     Projection,
[INFO] [stdout]    |     ^^^^^^^^^^ no `Projection` in the root
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `glium::DisplayBuild`
[INFO] [stdout]   --> src/main.rs:34:5
[INFO] [stdout]    |
[INFO] [stdout] 34 |     DisplayBuild,
[INFO] [stdout]    |     ^^^^^^^^^^^^ no `DisplayBuild` in the root
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved imports `glutin::WindowBuilder`, `glutin::Event`, `glutin::VirtualKeyCode`, `glutin::ElementState`
[INFO] [stdout]   --> src/main.rs:45:5
[INFO] [stdout]    |
[INFO] [stdout] 45 |     WindowBuilder,
[INFO] [stdout]    |     ^^^^^^^^^^^^^ no `WindowBuilder` in the root
[INFO] [stdout] 46 |     GlProfile,
[INFO] [stdout] 47 |     Event,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     no `Event` in the root
[INFO] [stdout]    |     help: a similar name exists in the module: `event`
[INFO] [stdout] 48 |     VirtualKeyCode,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^ no `VirtualKeyCode` in the root
[INFO] [stdout] 49 |     ElementState,
[INFO] [stdout]    |     ^^^^^^^^^^^^ no `ElementState` in the root
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved imports `gel::Vec3`, `gel::Mat4`, `gel::Repeat`, `gel::Rotate`, `gel::Scale`, `gel::Translate`
[INFO] [stdout]   --> src/cube.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 24 |     Vec3,
[INFO] [stdout]    |     ^^^^ no `Vec3` in the root
[INFO] [stdout] 25 |     Mat4,
[INFO] [stdout]    |     ^^^^ no `Mat4` in the root
[INFO] [stdout] 26 |     Repeat,
[INFO] [stdout]    |     ^^^^^^ no `Repeat` in the root
[INFO] [stdout] 27 |     Rotate,
[INFO] [stdout]    |     ^^^^^^ no `Rotate` in the root
[INFO] [stdout] 28 |     Scale,
[INFO] [stdout]    |     ^^^^^ no `Scale` in the root
[INFO] [stdout] 29 |     Translate,
[INFO] [stdout]    |     ^^^^^^^^^ no `Translate` in the root
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved imports `gel::Mat4`, `gel::Vec3`, `gel::LookAt`, `gel::Cross`, `gel::Normalize`
[INFO] [stdout]  --> src/camera.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 |     Mat4,
[INFO] [stdout]   |     ^^^^ no `Mat4` in the root
[INFO] [stdout] 4 |     Vec3,
[INFO] [stdout]   |     ^^^^ no `Vec3` in the root
[INFO] [stdout] 5 |     LookAt,
[INFO] [stdout]   |     ^^^^^^ no `LookAt` in the root
[INFO] [stdout] 6 |     Cross,
[INFO] [stdout]   |     ^^^^^ no `Cross` in the root
[INFO] [stdout] 7 |     Normalize,
[INFO] [stdout]   |     ^^^^^^^^^ no `Normalize` in the root
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved imports `toml::Parser`, `toml::Decoder`
[INFO] [stdout]   --> src/config.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 |     Parser,
[INFO] [stdout]    |     ^^^^^^ no `Parser` in the root
[INFO] [stdout] 11 |     Decoder,
[INFO] [stdout]    |     ^^^^^^^ no `Decoder` in the root
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `glutin::WindowBuilder`
[INFO] [stdout]   --> src/config.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use glutin::WindowBuilder;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^ no `WindowBuilder` in the root
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved imports `gel::Vec3`, `gel::Repeat`
[INFO] [stdout]   --> src/config.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 |     Vec3,
[INFO] [stdout]    |     ^^^^ no `Vec3` in the root
[INFO] [stdout] 19 |     Repeat,
[INFO] [stdout]    |     ^^^^^^ no `Repeat` in the root
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `glutin::Event`
[INFO] [stdout]  --> src/input.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 |     Event,
[INFO] [stdout]   |     ^^^^^
[INFO] [stdout]   |     |
[INFO] [stdout]   |     no `Event` in the root
[INFO] [stdout]   |     help: a similar name exists in the module: `event`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `glium::backend::glutin_backend`
[INFO] [stdout]  --> src/input.rs:8:21
[INFO] [stdout]   |
[INFO] [stdout] 8 | use glium::backend::glutin_backend::{
[INFO] [stdout]   |                     ^^^^^^^^^^^^^^ could not find `glutin_backend` in `backend`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved imports `glutin::ElementState`, `glutin::VirtualKeyCode`
[INFO] [stdout]   --> src/input.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 |     ElementState,
[INFO] [stdout]    |     ^^^^^^^^^^^^ no `ElementState` in the root
[INFO] [stdout] 16 |     VirtualKeyCode as Key,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^ no `VirtualKeyCode` in the root
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved imports `gel::Mat4`, `gel::Vec3`, `gel::Normalize`, `gel::Cross`
[INFO] [stdout]   --> src/player.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 |     Mat4,
[INFO] [stdout]    |     ^^^^ no `Mat4` in the root
[INFO] [stdout] 16 |     Vec3,
[INFO] [stdout]    |     ^^^^ no `Vec3` in the root
[INFO] [stdout] 17 |     Normalize,
[INFO] [stdout]    |     ^^^^^^^^^ no `Normalize` in the root
[INFO] [stdout] 18 |     Cross,
[INFO] [stdout]    |     ^^^^^ no `Cross` in the root
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `glutin::MouseCursor`
[INFO] [stdout]  --> src/cursor.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use glutin::MouseCursor;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^ no `MouseCursor` in the root
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `glium::backend::glutin_backend`
[INFO] [stdout]  --> src/cursor.rs:2:21
[INFO] [stdout]   |
[INFO] [stdout] 2 | use glium::backend::glutin_backend::WinRef;
[INFO] [stdout]   |                     ^^^^^^^^^^^^^^ could not find `glutin_backend` in `backend`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved imports `gel::Vec3`, `gel::Mat4`, `gel::Repeat`, `gel::Rotate`, `gel::Scale`, `gel::Translate`
[INFO] [stdout]   --> src/light.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout] 28 |     Vec3,
[INFO] [stdout]    |     ^^^^ no `Vec3` in the root
[INFO] [stdout] 29 |     Mat4,
[INFO] [stdout]    |     ^^^^ no `Mat4` in the root
[INFO] [stdout] 30 |     Repeat,
[INFO] [stdout]    |     ^^^^^^ no `Repeat` in the root
[INFO] [stdout] 31 |     Rotate,
[INFO] [stdout]    |     ^^^^^^ no `Rotate` in the root
[INFO] [stdout] 32 |     Scale,
[INFO] [stdout]    |     ^^^^^ no `Scale` in the root
[INFO] [stdout] 33 |     Translate,
[INFO] [stdout]    |     ^^^^^^^^^ no `Translate` in the root
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `radians` in crate `gel`
[INFO] [stdout]   --> src/camera.rs:49:30
[INFO] [stdout]    |
[INFO] [stdout] 49 |         let elevation = gel::radians(self.elev);
[INFO] [stdout]    |                              ^^^^^^^ not found in `gel`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `radians` in crate `gel`
[INFO] [stdout]   --> src/camera.rs:50:28
[INFO] [stdout]    |
[INFO] [stdout] 50 |         let azimuth = gel::radians(self.azimuth);
[INFO] [stdout]    |                            ^^^^^^^ not found in `gel`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Table` in crate `toml`
[INFO] [stdout]    --> src/config.rs:386:51
[INFO] [stdout]     |
[INFO] [stdout] 386 | fn parse(toml: &str, path: &Path) -> Result<toml::Table> {
[INFO] [stdout]     |                                                   ^^^^^ not found in `toml`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this type alias
[INFO] [stdout]     |
[INFO] [stdout] 1   | use toml::value::Table;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `DecodeError` in crate `toml`
[INFO] [stdout]   --> src/errors.rs:93:24
[INFO] [stdout]    |
[INFO] [stdout] 93 | from_error_impl!(toml::DecodeError);
[INFO] [stdout]    |                        ^^^^^^^^^^^ not found in `toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `GliumCreationError` in crate `glium`
[INFO] [stdout]    --> src/errors.rs:98:21
[INFO] [stdout]     |
[INFO] [stdout] 98  | impl<T> From<glium::GliumCreationError<T>> for Error
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^ help: an enum with a similar name exists: `ProgramCreationError`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/glium-0.27.0/src/program/mod.rs:113:1
[INFO] [stdout]     |
[INFO] [stdout] 113 | pub enum ProgramCreationError {
[INFO] [stdout]     | ----------------------------- similarly named enum `ProgramCreationError` defined here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `GliumCreationError` in crate `glium`
[INFO] [stdout]    --> src/errors.rs:101:23
[INFO] [stdout]     |
[INFO] [stdout] 101 |     fn from(e: glium::GliumCreationError<T>) -> Error {
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^ help: an enum with a similar name exists: `ProgramCreationError`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/glium-0.27.0/src/program/mod.rs:113:1
[INFO] [stdout]     |
[INFO] [stdout] 113 | pub enum ProgramCreationError {
[INFO] [stdout]     | ----------------------------- similarly named enum `ProgramCreationError` defined here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/cube.rs:108:22
[INFO] [stdout]     |
[INFO] [stdout] 108 |         let vtxbuf = try!(VertexBuffer::new(facade, vertices));
[INFO] [stdout]     |                      ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/cube.rs:154:9
[INFO] [stdout]     |
[INFO] [stdout] 154 |         try!(surface.draw(&self.vtxbuf, self.idxbuf, program, uniforms, draw_params));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/resource/shader.rs:54:20
[INFO] [stdout]    |
[INFO] [stdout] 54 |         let vsrc = try!(self.sources.get(vert).ok_or(Error::new("missing vertex shader")));
[INFO] [stdout]    |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/resource/shader.rs:55:20
[INFO] [stdout]    |
[INFO] [stdout] 55 |         let fsrc = try!(self.sources.get(frag).ok_or(Error::new("missing fragment shader")));
[INFO] [stdout]    |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/resource/shader.rs:64:23
[INFO] [stdout]    |
[INFO] [stdout] 64 |         let program = try!(Program::from_source(facade, vsrc, fsrc, None));
[INFO] [stdout]    |                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/config.rs:45:25
[INFO] [stdout]    |
[INFO] [stdout] 45 |         let mut cfile = try!(File::open(&path));
[INFO] [stdout]    |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/config.rs:47:9
[INFO] [stdout]    |
[INFO] [stdout] 47 |         try!(cfile.read_to_string(&mut buf));
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/config.rs:49:21
[INFO] [stdout]    |
[INFO] [stdout] 49 |         let table = try!(parse(&buf, path.as_ref()));
[INFO] [stdout]    |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/config.rs:52:27
[INFO] [stdout]    |
[INFO] [stdout] 52 |         let toml_config = try!(TomlConfig::decode(&mut decoder));
[INFO] [stdout]    |                           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/errors.rs:60:9
[INFO] [stdout]    |
[INFO] [stdout] 60 |         try!(writeln!(fmt, "{}", self.msg));
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/errors.rs:62:13
[INFO] [stdout]    |
[INFO] [stdout] 62 |             try!(writeln!(fmt, "\t{}", detail));
[INFO] [stdout]    |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/input.rs:34:22
[INFO] [stdout]    |
[INFO] [stdout] 34 |         let (x, y) = try!(winref.get_inner_size_pixels()
[INFO] [stdout]    |                      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/input.rs:40:21
[INFO] [stdout]    |
[INFO] [stdout] 40 |             cursor: try!(Cursor::new(winref, x / 2, y / 2)),
[INFO] [stdout]    |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/player.rs:44:30
[INFO] [stdout]    |
[INFO] [stdout] 44 |         let mut cube: Cube = try!(Cube::new(facade));
[INFO] [stdout]    |                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/cursor.rs:19:9
[INFO] [stdout]    |
[INFO] [stdout] 19 |         try!(winref.set_cursor_position(xcenter, ycenter));
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/cursor.rs:35:9
[INFO] [stdout]    |
[INFO] [stdout] 35 |         try!(self.winref.set_cursor_position(xc, yc));
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/light.rs:114:22
[INFO] [stdout]     |
[INFO] [stdout] 114 |         let vtxbuf = try!(VertexBuffer::new(facade, vertices));
[INFO] [stdout]     |                      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/light.rs:179:9
[INFO] [stdout]     |
[INFO] [stdout] 179 |         try!(surface.draw(&self.vtxbuf, self.idxbuf, program, uniforms, draw_params));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/file.rs:10:20
[INFO] [stdout]    |
[INFO] [stdout] 10 |     let mut file = try!(File::open(path));
[INFO] [stdout]    |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/file.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 |     try!(file.read_to_string(&mut buf));
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/main.rs:90:23
[INFO] [stdout]    |
[INFO] [stdout] 90 |     let config_path = try!(env::var("CUBE_CONF"));
[INFO] [stdout]    |                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/main.rs:91:26
[INFO] [stdout]    |
[INFO] [stdout] 91 |     let config: Config = try!(Config::new(&config_path));
[INFO] [stdout]    |                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/main.rs:95:19
[INFO] [stdout]    |
[INFO] [stdout] 95 |     let display = try!(window_builder.build_glium());
[INFO] [stdout]    |                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/main.rs:101:9
[INFO] [stdout]     |
[INFO] [stdout] 101 |         try!(target.finish());
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/main.rs:106:27
[INFO] [stdout]     |
[INFO] [stdout] 106 |     let diffuse_map_img = try!(image::open(diffuse_map_path));
[INFO] [stdout]     |                           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/main.rs:107:23
[INFO] [stdout]     |
[INFO] [stdout] 107 |     let diffuse_map = try!(SrgbTexture2d::new(&display, diffuse_map_img));
[INFO] [stdout]     |                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/main.rs:109:28
[INFO] [stdout]     |
[INFO] [stdout] 109 |     let specular_map_img = try!(image::open(specular_map_path));
[INFO] [stdout]     |                            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/main.rs:110:24
[INFO] [stdout]     |
[INFO] [stdout] 110 |     let specular_map = try!(SrgbTexture2d::new(&display, specular_map_img));
[INFO] [stdout]     |                        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/main.rs:111:30
[INFO] [stdout]     |
[INFO] [stdout] 111 |     let mut player: Player = try!(Player::new(&display,
[INFO] [stdout]     |                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/main.rs:119:20
[INFO] [stdout]     |
[INFO] [stdout] 119 |     let vert_src = try!(file::load(config.paths().shaders().join("cube.vert")));
[INFO] [stdout]     |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/main.rs:122:20
[INFO] [stdout]     |
[INFO] [stdout] 122 |     let frag_src = try!(file::load(config.paths().shaders().join("cube.frag")));
[INFO] [stdout]     |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/main.rs:125:5
[INFO] [stdout]     |
[INFO] [stdout] 125 |     try!(shaders.compile(&display, "cube.vert", "cube.frag"));
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/main.rs:127:26
[INFO] [stdout]     |
[INFO] [stdout] 127 |     let light_vert_src = try!(file::load(config.paths().shaders().join("light.vert")));
[INFO] [stdout]     |                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/main.rs:130:26
[INFO] [stdout]     |
[INFO] [stdout] 130 |     let light_frag_src = try!(file::load(config.paths().shaders().join("light.frag")));
[INFO] [stdout]     |                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/main.rs:133:5
[INFO] [stdout]     |
[INFO] [stdout] 133 |     try!(shaders.compile(&display, "light.vert", "light.frag"));
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/main.rs:135:18
[INFO] [stdout]     |
[INFO] [stdout] 135 |     let winref = try!(display.get_window()
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/main.rs:139:28
[INFO] [stdout]     |
[INFO] [stdout] 139 |     let mut light: Light = try!(Light::new(&display, config.light()));
[INFO] [stdout]     |                            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/main.rs:141:21
[INFO] [stdout]     |
[INFO] [stdout] 141 |     let mut input = try!(Input::new(winref));
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/main.rs:147:26
[INFO] [stdout]     |
[INFO] [stdout] 147 |     let player_program = try!(shaders.load("cube.vert", "cube.frag"));
[INFO] [stdout]     |                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/main.rs:148:25
[INFO] [stdout]     |
[INFO] [stdout] 148 |     let light_program = try!(shaders.load("light.vert", "light.frag"));
[INFO] [stdout]     |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/main.rs:212:13
[INFO] [stdout]     |
[INFO] [stdout] 212 |             try!(player.draw(&mut target, player_program, &uniforms));
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/main.rs:221:13
[INFO] [stdout]     |
[INFO] [stdout] 221 |             try!(light.draw(&mut target, light_program, &uniforms));
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/main.rs:224:9
[INFO] [stdout]     |
[INFO] [stdout] 224 |         try!(target.finish());
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fs::File`
[INFO] [stdout]   --> src/main.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | use std::fs::File;
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::prelude::*`
[INFO] [stdout]   --> src/main.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | use std::io::prelude::*;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `num::One`
[INFO] [stdout]   --> src/main.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 22 | use num::One;
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `DepthTest`, `Display`
[INFO] [stdout]   --> src/main.rs:33:5
[INFO] [stdout]    |
[INFO] [stdout] 33 |     Display,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 36 |     DepthTest,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `MagnifySamplerFilter`, `MinifySamplerFilter`, `SamplerWrapFunction`
[INFO] [stdout]   --> src/main.rs:40:5
[INFO] [stdout]    |
[INFO] [stdout] 40 |     SamplerWrapFunction,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 41 |     MinifySamplerFilter,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 42 |     MagnifySamplerFilter,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `GlProfile`
[INFO] [stdout]   --> src/main.rs:46:5
[INFO] [stdout]    |
[INFO] [stdout] 46 |     GlProfile,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `cube::Cube`
[INFO] [stdout]   --> src/main.rs:52:5
[INFO] [stdout]    |
[INFO] [stdout] 52 | use cube::Cube;
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Sampler`
[INFO] [stdout]   --> src/cube.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 |     Sampler,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Zero`
[INFO] [stdout]   --> src/cube.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 |     Zero,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `RefCell`, `Ref`
[INFO] [stdout]  --> src/resource/shader.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 |     RefCell,
[INFO] [stdout]   |     ^^^^^^^
[INFO] [stdout] 4 |     Ref,
[INFO] [stdout]   |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ops::Deref`
[INFO] [stdout]  --> src/resource/shader.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::ops::Deref;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Entry`
[INFO] [stdout]  --> src/resource/shader.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 |     Entry,
[INFO] [stdout]   |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `num::Zero`
[INFO] [stdout]  --> src/camera.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use num::Zero;
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `player::Player`
[INFO] [stdout]   --> src/camera.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use player::Player;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self`
[INFO] [stdout]   --> src/config.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 |     self,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `One`, `Zero`
[INFO] [stdout]   --> src/config.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 22 |     One,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 23 |     Zero,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/errors.rs:21:23
[INFO] [stdout]    |
[INFO] [stdout] 21 |     inner: Option<Box<error::Error>>,
[INFO] [stdout]    |                       ^^^^^^^^^^^^ help: use `dyn`: `dyn error::Error`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/errors.rs:47:27
[INFO] [stdout]    |
[INFO] [stdout] 47 |         where E: Into<Box<error::Error>>
[INFO] [stdout]    |                           ^^^^^^^^^^^^ help: use `dyn`: `dyn error::Error`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/errors.rs:73:32
[INFO] [stdout]    |
[INFO] [stdout] 73 |     fn cause(&self) -> Option<&error::Error> {
[INFO] [stdout]    |                                ^^^^^^^^^^^^ help: use `dyn`: `dyn error::Error`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Error`
[INFO] [stdout]   --> src/process.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 |     Error,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Error`
[INFO] [stdout]  --> src/cursor.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 |     Error,
[INFO] [stdout]   |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `MagnifySamplerFilter`, `MinifySamplerFilter`, `SamplerWrapFunction`, `Sampler`
[INFO] [stdout]   --> src/light.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 |     Sampler,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 14 |     SamplerWrapFunction,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 15 |     MinifySamplerFilter,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 16 |     MagnifySamplerFilter,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `glium::texture::SrgbTexture2d`
[INFO] [stdout]   --> src/light.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 22 | use glium::texture::SrgbTexture2d;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `One`, `Zero`
[INFO] [stdout]   --> src/light.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 24 |     One,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 25 |     Zero,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0106]: missing lifetime specifier
[INFO] [stdout]   --> src/input.rs:33:42
[INFO] [stdout]    |
[INFO] [stdout] 33 |     pub fn new(winref: WinRef) -> Result<Input> {
[INFO] [stdout]    |                                          ^^^^^ expected named lifetime parameter
[INFO] [stdout]    |
[INFO] [stdout]    = help: this function's return type contains a borrowed value with an elided lifetime, but the lifetime cannot be derived from the arguments
[INFO] [stdout] help: consider using the `'a` lifetime
[INFO] [stdout]    |
[INFO] [stdout] 33 |     pub fn new(winref: WinRef) -> Result<Input<'a>> {
[INFO] [stdout]    |                                          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0106]: missing lifetime specifier
[INFO] [stdout]   --> src/cursor.rs:17:70
[INFO] [stdout]    |
[INFO] [stdout] 17 |     pub fn new(winref: WinRef, xcenter: i32, ycenter: i32) -> Result<Cursor> {
[INFO] [stdout]    |                                                                      ^^^^^^ expected named lifetime parameter
[INFO] [stdout]    |
[INFO] [stdout]    = help: this function's return type contains a borrowed value with an elided lifetime, but the lifetime cannot be derived from the arguments
[INFO] [stdout] help: consider using the `'a` lifetime
[INFO] [stdout]    |
[INFO] [stdout] 17 |     pub fn new(winref: WinRef, xcenter: i32, ycenter: i32) -> Result<Cursor<'a>> {
[INFO] [stdout]    |                                                                      ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated struct `std::hash::SipHasher`: use `std::collections::hash_map::DefaultHasher` instead
[INFO] [stdout]   --> src/resource/shader.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 |     SipHasher,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated struct `std::hash::SipHasher`: use `std::collections::hash_map::DefaultHasher` instead
[INFO] [stdout]   --> src/resource/shader.rs:58:30
[INFO] [stdout]    |
[INFO] [stdout] 58 |             let mut hasher = SipHasher::new();
[INFO] [stdout]    |                              ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated struct `std::hash::SipHasher`: use `std::collections::hash_map::DefaultHasher` instead
[INFO] [stdout]   --> src/resource/shader.rs:74:30
[INFO] [stdout]    |
[INFO] [stdout] 74 |             let mut hasher = SipHasher::new();
[INFO] [stdout]    |                              ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `time::precise_time_s`: Use `OffsetDateTime::now() - OffsetDateTime::unix_epoch()` to get a `Duration` since a known epoch.
[INFO] [stdout]  --> src/delta.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 |     time::precise_time_s() as f32
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0207]: the type parameter `T` is not constrained by the impl trait, self type, or predicates
[INFO] [stdout]   --> src/errors.rs:98:6
[INFO] [stdout]    |
[INFO] [stdout] 98 | impl<T> From<glium::GliumCreationError<T>> for Error
[INFO] [stdout]    |      ^ unconstrained type parameter
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 24 previous errors; 71 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0106, E0207, E0412, E0425, E0432.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0106`.
[INFO] [stdout] 
[INFO] [stderr] error: build failed
[INFO] running `Command { std: "docker" "inspect" "e20c554b108609960d2b78086f71dea85fc236a4e29e278e6ebed43a78536332", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e20c554b108609960d2b78086f71dea85fc236a4e29e278e6ebed43a78536332", kill_on_drop: false }`
[INFO] [stdout] e20c554b108609960d2b78086f71dea85fc236a4e29e278e6ebed43a78536332
